<ui:composition xmlns="http://www.w3.org/1999/xhtml"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:pe="http://primefaces.org/ui/extensions"
	xmlns:p="http://primefaces.org/ui">

	<div class="divPanelGridFiltro" align="center">
		<h:panelGroup id="plgFiltroPromociones">
			<h:panelGrid columns="4">
				<h:outputLabel>Tipo promoci&#243;n:</h:outputLabel>
				<p:selectOneMenu value="#{promocionesController.idTipoPromocion}">
					<f:selectItem itemLabel="Seleccione" itemValue="-1" />
					<f:selectItems var="tipoPromo" value="#{promocionesController.listaTipoPromocion}"
								   itemValue="#{tipoPromo.codigo}" itemLabel="#{tipoPromo.nombre}"  />
				</p:selectOneMenu>
				<p:spacer width="10" />
				<p:commandButton value="Buscar" action="#{promocionesController.buscarPromocionesVigentes}"
								 styleClass="butonSmall"
								 process="@this, plgFiltroPromociones" update="panelResultadosPromociones" />
			</h:panelGrid>
		</h:panelGroup>
	</div>
	<p:spacer height="25" />
	<div class="data-table-ventas">
		<h:panelGroup id="panelResultadosPromociones">
			<p:dataTable id="dtPromociones" var="promo"
						 value="#{promocionesController.listaPromocionesVigentes}"
						 rowKey="#{promo.idPromocion}"
						 emptyMessage=""
						 paginator="true" paginatorPosition="top" rows="10"
						 paginatorTemplate="{FirstPageLink} {PreviousPageLink} {CurrentPageReport} {NextPageLink} {LastPageLink}"
						 currentPageReportTemplate="{currentPage} de {totalPages}">
 				
 				<p:ajax event="page" global="false" />
 				
				<p:column headerText="Material" sortBy="#{promo.material}" 
					sortFunction="#{ordenarDatatable.ordernar}">
					<h:outputText value="#{promo.material}" />
				</p:column>

				<p:column id="colNombre" headerText="Descripci&#243;n" sortBy="#{promo.nombre}"
					sortFunction="#{ordenarDatatable.ordernar}">
					<h:outputText value="#{promo.nombre}" />
				</p:column>

				<p:column headerText="Precio (incluye IGV)" sortBy="#{promo.precio}"
					style="text-align: right;">
					<h:outputText value="#{promo.precio}" />
				</p:column>

				<p:column headerText="Tipo moneda" sortBy="#{promo.moneda.nombre}"
					sortFunction="#{ordenarDatatable.ordernar}">
					<h:outputText value="#{promo.moneda.nombre}" />
				</p:column>

				<p:column  headerText="Inicio vigencia" sortBy="#{promo.fechaInicio}"
					style="text-align: center; width:110px;">

					<h:outputText value="#{promo.fechaInicio}">
						<f:convertDateTime pattern="dd/MM/yyyy" />
					</h:outputText>
				</p:column>

				<p:column headerText="Fin vigencia" sortBy="#{promo.fechaFin}"
					style="text-align: center; width:100px;">
					<h:outputText value="#{promo.fechaFin}">
						<f:convertDateTime pattern="dd/MM/yyyy" />
					</h:outputText>
				</p:column>

				<p:column styleClass="btn-DataTable-Icon-Centrado">
					<p:commandLink action="#{promocionesController.detallePromocion(promo)}" process="@this"
								   oncomplete="porDefectoPaginador(dtPromocionRepuesto); wvDlgPromocionDetalle.show(); 
								   			   zoomTodoImagenPromocion('contenedor-imagen-promocion', 'image-promocion');"
								   update="@([id$=panelDetallePromocion])">
						<h:graphicImage library="images" name="detalle.png" styleClass="icon-small" 
								  	    alt="Ver detalle" title="Ver detalle" />
					</p:commandLink>
				</p:column>

				<p:column styleClass="btn-DataTable-Icon-Centrado">
					<p:commandLink action="#{promocionesController.seleccionarPromocion(promo)}"
								   oncomplete="wvDlgPromocionCotizacion.show();" immediate="true"
								   update="@([id$=panelSolicitarCotizacionPromocion])" global="false">
						<h:graphicImage library="images" name="carrito.png" styleClass="icon-small" 
										alt="Solicitar" title="A&#241;adir al carrito de compras" />
					</p:commandLink>
				</p:column>
				<f:facet name="footer">
					<div class="pie-cantidad-resultados">
						<h:outputText value="#{not empty promocionesController.listaPromocionesVigentes ? 
														   			 (promocionesController.listaPromocionesVigentes.size() == 1 ? 'Se encontr&#243; 1 promoci&#243;n': 
														   																              'Se encontraron '.concat(promocionesController.listaPromocionesVigentes.size())
														   																                              .concat(' promociones'))
														   			 : 'No se encontraron promociones' }"/>
					</div>
				</f:facet>
			</p:dataTable>
		</h:panelGroup>
	</div>

	<!--			Dialog Detalle Promocion			-->
	
	<p:dialog id="dlgPromocionDetalle" widgetVar="wvDlgPromocionDetalle"
			  header="Detalle promoci&#243;n" resizable="false"
			  modal="true" width="960">
		<h:panelGroup id="panelDetallePromocion" layout="block">
			<div>
				<div class="bloque">
					<div class="izquierda  gestion-repuestos-imagenes">
						<div class="margen-contenido">
							<div class="nombreSubBloque data">
								<h:outputLabel value="Repuestos de la promoci&#243;n" />
							</div>

							<p:spacer height="15"></p:spacer>
							<div class="bloque">
								<h:panelGroup id="panelRepuestosPromocion">
									<p:dataTable var="promocionRepuesto" widgetVar="dtPromocionRepuesto"
										value="#{promocionesController.listaRepuestosPromocionElegida}"
										rowKey="#{promocionRepuesto.keyListado}"
										emptyMessage="La promocion no tiene repuestos asignados"
										paginatorTemplate="{FirstPageLink} {PreviousPageLink} {CurrentPageReport} {NextPageLink} {LastPageLink}"
										paginator="true" paginatorPosition="top" rows="5"
										currentPageReportTemplate="{currentPage} de {totalPages}">

										<p:column headerText="Descripci&#243;n" styleClass="centrar-contenido"
												  sortBy="#{promocionRepuesto.repuesto.nombre}">
											<h:outputText value="#{promocionRepuesto.repuesto.nombre}" />
										</p:column>
										<p:column headerText="Cantidad" style="text-align: right;" 
												  sortBy="#{promocionRepuesto.cantidadReferencial}">
											<h:outputText value="#{promocionRepuesto.cantidadReferencial}"  />
										</p:column>

									</p:dataTable>
								</h:panelGroup>
							</div>
						</div>
					</div>
					<div class="derecha gestion-repuestos-imagenes">
						<div class="margen-contenido">
							<h:panelGroup id="panelImagenScroll">
								<div id="contenedor-imagen-scroll" class="contenedor-imagen-promocion" align="center">
									<p:graphicImage id="imagen-scroll" styleClass="image-promocion " 
													value="/imagen/servidor/?nombreArchivo=#{promocionesController.rutaImagen}&#38;tipo=promocion" />
												     
								</div>
							</h:panelGroup>
						</div>
					</div>
				</div>
			</div>
		</h:panelGroup>
	</p:dialog>

	<!--			Dialog Solicitar Cotizacion			-->
	
	<p:dialog id="dlgPromocionCotizacion" widgetVar="wvDlgPromocionCotizacion"
			  header="A&#241;adir al carrito de compras" resizable="false" modal="true">
		<div class="panel-general-popup">
			<h:panelGroup id="panelSolicitarCotizacionPromocion">
				<div class="divPanelGridFiltro">
					<div class="nombreSubBloque">
						<h:outputLabel value="Datos de la promoci&#243;n " />
					</div>
					<div align="center">
						<h:panelGrid columns="2">
							<h:outputLabel value="Material:" />
							<h:outputText styleClass="texto-general" value="#{promocionesController.promocionASolicitar.material}" />
							
							<h:outputLabel value="Descripci&#243;n:" />
							<h:outputText styleClass="texto-general" value="#{promocionesController.promocionASolicitar.nombre}" />
							
							<h:outputLabel value="Moneda:" />
							<h:outputText styleClass="texto-general" value="#{promocionesController.promocionASolicitar.moneda.nombre}" />
							
							<h:outputLabel value="Precio:" />
							<h:outputText styleClass="texto-general" value="#{promocionesController.promocionASolicitar.precio}" />
							
							<h:outputLabel value="Cantidad:" />
							<pe:inputNumber id="cantidad" value="#{promocionesController.promocionASolicitar.cantidad}" 
											decimalPlaces="0" required="true" requiredMessage="Cantidad requerida"/>
							<h:panelGroup />
							<p:message id="msgCantidad" for="cantidad" />
						</h:panelGrid>
					</div>
				</div>
				<div class="panel-botones" align="center">
					<p:commandButton value="Guardar" styleClass="butonSmall" global="false"
									 action="#{promocionesController.guardarCotizacion}"
									 update="msgCantidad,:growl,:frmCotizacion:tabGeneral:plgDt"
									 process="@this,panelSolicitarCotizacionPromocion"
									 oncomplete="ocultarDialogSiOperacionEsCorrecta(xhr, status, args,wvDlgPromocionCotizacion);" />
					<p:spacer width="10" />
					<p:commandButton value="Cancelar" immediate="true" global="false"
								     styleClass="butonSmall" onclick="wvDlgPromocionCotizacion.hide()" />
				</div>
			</h:panelGroup>
		</div>
	</p:dialog>

</ui:composition>